當我們需要的資料皆分散存在多個資料表中時,我們需要先將這樣資料回傳成一個資料集,如此一來才可以一次檢視所有資料。要達到這個目的我們可以進行合併查詢。
首先,我們要知道從不同資料表或資料庫查詢選取資料時,最好每次都要告訴MYSQL我們要使用哪一個資料表或是資料庫,這樣可以提升SQL程式碼的維護性也能避免因為兩個資料欄(表)命名相同而出現錯誤訊息。因此在寫select陳述式時要輸入資料表(庫)名稱、英文句點,再加上資料欄(表)名稱,例如population.country指資料表population的資料欄country。
除了上述的寫法,還可以使用別名,來節省更多時間,例如將p宣告為資料表population的別名,後續就可以直接以p來代替全名。在定義別名時也可以使用關鍵字as,例如population as p。
在使用別名時要特別注意別名只限目前宣告的查詢程式碼!
select employees.employee_name,
departments.department_name,
from employees
inner join departments
on employees.department_id =department.department_id;
select employees.employee_name,
departments.department_name,
from employees right outer join departments
on employees.department_id =department.department_id;
select * ----------------表示選取employees資料表中的所有資料欄
from employees
natural join departments;
select student_name, course_name
from students
cross join courses;
select e1.employee_name as Employee,
e2.employee_name as Manager
from employees e1
outer join employees e2
on e1.manager_id = e2.employee_id;
下一章:合併查詢(下)